DiffSharp: Automatic Differentiation Library
نویسندگان
چکیده
In this paper we introduce DiffSharp, an automatic differentiation (AD) library designed with machine learning in mind. AD is a family of techniques that evaluate derivatives at machine precision with only a small constant factor of overhead, by systematically applying the chain rule of calculus at the elementary operator level. DiffSharp aims to make an extensive array of AD techniques available, in convenient form, to the machine learning community. These including arbitrary nesting of forward/reverse AD operations, AD with linear algebra primitives, and a functional API that emphasizes the use of higher-order functions and composition. The library exposes this functionality through an API that provides gradients, Hessians, Jacobians, directional derivatives, and matrix-free Hessianand Jacobian-vector products. Bearing the performance requirements of the latest machine learning techniques in mind, the underlying computations are run through a highperformance BLAS/LAPACK backend, using OpenBLAS by default. GPU support is currently being implemented.
منابع مشابه
DiffSharp: An AD Library for .NET Languages
DiffSharp is an algorithmic differentiation (AD) library for the .NET ecosystem, which is targeted by the C# and F# languages, among others. The library has been designed with machine learning applications in mind [1], allowing very succinct implementations of models and optimization routines. DiffSharp is implemented in F# and exposes forward and reverse AD operators as general nestable higher...
متن کاملA Reverse-Mode Automatic Differentiation in Haskell Using the Accelerate Library
Automatic Differentiation is a method for applying differentiation strategies to source code, by taking a computer program and deriving from that program a separate program which calculates the derivatives of the output of the first program. Because of this, Automatic Differentiation is of vital importance to most deep learning tasks as it allows for the easy backpropogation of complex calculat...
متن کاملAutomatic Differentiation and Uncertainty Analysis
Interim Reports on work of the International Institute for Applied Systems Analysis receive only limited review. Views or opinions expressed herein do not necessarily represent those of the Institute, its National Member Organizations, or other organizations supporting the work. Abstract This paper aims to give an overview of the possibilities for using automatic differentiation for uncertainty...
متن کاملAutomatic Differentiation Algorithms in Model Analysis
In this thesis automatic differentiation algorithms and derivative-based methods are combined to develop efficient tools for model analysis. Automatic differentiation algorithms comprise a class of algorithms aimed at the derivative computation of functions that are represented as computer code. Derivative-based methods that may be implemented using these algorithms are presented for sensitivit...
متن کاملAutomatic differentiation in PyTorch
In this article, we describe an automatic differentiation module of PyTorch — a library designed to enable rapid research on machine learning models. It builds upon a few projects, most notably Lua Torch, Chainer, and HIPS Autograd [4], and provides a high performance environment with easy access to automatic differentiation of models executed on different devices (CPU and GPU). To make prototy...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید
ثبت ناماگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید
ورودعنوان ژورنال:
- CoRR
دوره abs/1511.07727 شماره
صفحات -
تاریخ انتشار 2015